home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1995 February: Tool Chest / Dev.CD Feb 95 / Dev.CD Feb 95.toast / Tool Chest / Interfaces / Universal Interfaces 2.0a3 / Universal AIncludes / Gestalt.a < prev    next >
Encoding:
Text File  |  1994-11-11  |  23.4 KB  |  596 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        Gestalt.a
  3. ;
  4. ;    Copyright:    © 1984-1994 by Apple Computer, Inc.
  5. ;                All rights reserved.
  6. ;
  7. ;    Version:    Universal Interfaces 2.0a3  ETO #16, MPW prerelease.  Friday, November 11, 1994. 
  8. ;
  9. ;    Bugs?:        If you find a problem with this file, send the file and version
  10. ;                information (from above) and the problem description to:
  11. ;
  12. ;                    Internet:    apple.bugs@applelink.apple.com
  13. ;                    AppleLink:    APPLE.BUGS
  14. ;
  15. ;
  16.  
  17.     IF &TYPE('__GESTALT__') = 'UNDEFINED' THEN
  18. __GESTALT__ SET 1
  19.  
  20.  
  21.     IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
  22.     include 'Types.a'
  23.     ENDIF
  24. ;        include 'ConditionalMacros.a'                                ;
  25.  
  26.     IF &TYPE('__MIXEDMODE__') = 'UNDEFINED' THEN
  27.     include 'MixedMode.a'
  28.     ENDIF
  29.  
  30. gestaltAddressingModeAttr        EQU        'addr'                ; addressing mode attributes 
  31. gestalt32BitAddressing            EQU        0                    ; using 32-bit addressing mode 
  32. gestalt32BitSysZone                EQU        1                    ; 32-bit compatible system zone 
  33. gestalt32BitCapable                EQU        2                    ; Machine is 32-bit capable 
  34.  
  35. gestaltAliasMgrAttr                EQU        'alis'                ; Alias Mgr Attributes 
  36. gestaltAliasMgrPresent            EQU        0                    ; True if the Alias Mgr is present 
  37. gestaltAliasMgrSupportsRemoteAppletalk EQU        1            ; True if the Alias Mgr knows about Remote Appletalk 
  38.  
  39. gestaltAppleTalkVersion            EQU        'atlk'
  40.  
  41. gestaltAUXVersion                EQU        'a/ux'
  42.  
  43. gestaltCloseViewAttr            EQU        'BSDa'                ; CloseView attributes 
  44. gestaltCloseViewEnabled            EQU        0                    ; Closeview enabled (dynamic bit - returns current state) 
  45. gestaltCloseViewDisplayMgrFriendly EQU        1                ; Closeview compatible with Display Manager (FUTURE) 
  46.  
  47. gestaltCFMAttr                    EQU        'cfrg'                ; returns information about the Code Fragment Manager 
  48. gestaltCFMPresent                EQU        0                    ; true if the Code Fragment Manager is present 
  49.  
  50. gestaltColorMatchingAttr        EQU        'cmta'                ; ColorSync attributes 
  51. gestaltHighLevelMatching        EQU        0
  52. gestaltColorMatchingLibLoaded    EQU        1
  53.  
  54. gestaltColorMatchingVersion        EQU        'cmtc'
  55. gestaltColorSync10                EQU        $0100                ; 0x0100 & 0x0110 _Gestalt versions for 1.0-1.0.3 product 
  56. gestaltColorSync11                EQU        $0110                ;   0x0100 == low-level matching only 
  57. gestaltColorSync104                EQU        $0104                ; Real version, by popular demand 
  58. gestaltColorSync105                EQU        $0105
  59.  
  60. gestaltConnMgrAttr                EQU        'conn'                ; connection mgr attributes    
  61. gestaltConnMgrPresent            EQU        0
  62. gestaltConnMgrCMSearchFix        EQU        1                    ; Fix to CMAddSearch?     
  63. gestaltConnMgrErrorString        EQU        2                    ; has CMGetErrorString() 
  64. gestaltConnMgrMultiAsyncIO        EQU        3                    ; CMNewIOPB, CMDisposeIOPB, CMPBRead, CMPBWrite, CMPBIOKill 
  65.  
  66. gestaltComponentMgr                EQU        'cpnt'
  67.  
  68. gestaltColorPickerVersion        EQU        'cpkr'                ; returns version of ColorPicker 
  69. gestaltColorPicker                EQU        'cpkr'
  70.  
  71. gestaltNativeCPUtype            EQU        'cput'                ; Native CPU type                                       
  72. gestaltCPU68000                    EQU        1                    ; Various 68k CPUs...     
  73. gestaltCPU68010                    EQU        2
  74. gestaltCPU68020                    EQU        3
  75. gestaltCPU68030                    EQU        4
  76. gestaltCPU68040                    EQU        5
  77. gestaltCPU601                    EQU        $101                ; IBM 601                                                 
  78. gestaltCPU603                    EQU        $103
  79. gestaltCPU604                    EQU        $104
  80.  
  81. gestaltCRMAttr                    EQU        'crm '                ; comm resource mgr attributes 
  82. gestaltCRMPresent                EQU        0
  83. gestaltCRMPersistentFix            EQU        1                    ; fix for persistent tools 
  84. gestaltCRMToolRsrcCalls            EQU        2                    ; has CRMGetToolResource/ReleaseToolResource 
  85.  
  86. gestaltControlStripVersion        EQU        'csvr'
  87.  
  88. gestaltCTBVersion                EQU        'ctbv'
  89.  
  90. gestaltDBAccessMgrAttr            EQU        'dbac'                ; Database Access Mgr attributes 
  91. gestaltDBAccessMgrPresent        EQU        0                    ; True if Database Access Mgr present 
  92.  
  93. gestaltDictionaryMgrAttr        EQU        'dict'                ; Dictionary Manager attributes 
  94. gestaltDictionaryMgrPresent        EQU        0                    ; Dictionary Manager attributes 
  95.  
  96. gestaltDITLExtAttr                EQU        'ditl'                ; AppenDITL, etc. calls from CTB 
  97. gestaltDITLExtPresent            EQU        0                    ; True if calls are present 
  98.  
  99. gestaltDisplayMgrAttr            EQU        'dply'                ; Display Manager attributes 
  100. gestaltDisplayMgrPresent        EQU        0                    ; True if Display Mgr is present 
  101.  
  102. gestaltDisplayMgrVers            EQU        'dplv'
  103.  
  104. gestaltDragMgrAttr                EQU        'drag'                ; Drag Manager attributes 
  105. gestaltDragMgrPresent            EQU        0                    ; Drag Manager is present 
  106. gestaltDragMgrFloatingWind        EQU        1                    ; Drag Manager supports floating windows 
  107. gestaltPPCDragLibPresent        EQU        2                    ; Drag Manager PPC DragLib is present 
  108.  
  109. gestaltEasyAccessAttr            EQU        'easy'                ; Easy Access attributes 
  110. gestaltEasyAccessOff            EQU        0                    ; if Easy Access present, but off (no icon) 
  111. gestaltEasyAccessOn                EQU        1                    ; if Easy Access "On" 
  112. gestaltEasyAccessSticky            EQU        2                    ; if Easy Access "Sticky" 
  113. gestaltEasyAccessLocked            EQU        3                    ; if Easy Access "Locked" 
  114.  
  115. gestaltEditionMgrAttr            EQU        'edtn'                ; Edition Mgr attributes 
  116. gestaltEditionMgrPresent        EQU        0                    ; True if Edition Mgr present 
  117. gestaltEditionMgrTranslationAware EQU        1                    ; True if edition manager is translation manager aware 
  118.  
  119. gestaltAppleEventsAttr            EQU        'evnt'                ; Apple Events attributes 
  120. gestaltAppleEventsPresent        EQU        0                    ; True if Apple Events present 
  121. gestaltScriptingSupport            EQU        1
  122. gestaltOSLInSystem                EQU        2                    ; OSL is in system so don’t use the one linked in to app 
  123.  
  124. gestaltFinderAttr                EQU        'fndr'                ; Finder attributes 
  125. gestaltFinderDropEvent            EQU        0                    ; Finder recognizes drop event 
  126. gestaltFinderMagicPlacement        EQU        1                    ; Finder supports magic icon placement 
  127. gestaltFinderCallsAEProcess        EQU        2                    ; Finder calls AEProcessAppleEvent 
  128. gestaltOSLCompliantFinder        EQU        3                    ; Finder is scriptable and recordable 
  129. gestaltFinderSupports4GBVolumes    EQU        4                    ; Finder correctly handles 4GB volumes 
  130. gestaltFinderHandlesCFMFailures    EQU        5                    ; Finder handles Code Fragment Manager errors  
  131. gestaltFinderHasClippings        EQU        6                    ; Finder supports Drag Manager clipping files 
  132.  
  133. gestaltFindFolderAttr            EQU        'fold'                ; Folder Mgr attributes 
  134. gestaltFindFolderPresent        EQU        0                    ; True if Folder Mgr present 
  135.  
  136. gestaltFontMgrAttr                EQU        'font'                ; Font Mgr attributes 
  137. gestaltOutlineFonts                EQU        0                    ; True if Outline Fonts supported 
  138.  
  139. gestaltFPUType                    EQU        'fpu '                ; fpu type 
  140. gestaltNoFPU                    EQU        0                    ; no FPU 
  141. gestalt68881                    EQU        1                    ; 68881 FPU 
  142. gestalt68882                    EQU        2                    ; 68882 FPU 
  143. gestalt68040FPU                    EQU        3                    ; 68040 built-in FPU 
  144.  
  145. gestaltFSAttr                    EQU        'fs  '                ; file system attributes 
  146. gestaltFullExtFSDispatching        EQU        0                    ; has really cool new HFSDispatch dispatcher 
  147. gestaltHasFSSpecCalls            EQU        1                    ; has FSSpec calls 
  148. gestaltHasFileSystemManager        EQU        2                    ; has a file system manager 
  149. gestaltFSMDoesDynamicLoad        EQU        3                    ; file system manager supports dynamic loading 
  150. gestaltFSSupports4GBVols        EQU        4                    ; file system supports 4 gigabyte volumes 
  151. gestaltFSSupports2TBVols        EQU        5                    ; file system supports 2 terabyte volumes 
  152. gestaltHasExtendedDiskInit        EQU        6                    ; has extended Disk Initialization calls 
  153.  
  154. gestaltFXfrMgrAttr                EQU        'fxfr'                ; file transfer manager attributes 
  155. gestaltFXfrMgrPresent            EQU        0
  156. gestaltFXfrMgrMultiFile            EQU        1                    ; supports FTSend and FTReceive 
  157. gestaltFXfrMgrErrorString        EQU        2                    ; supports FTGetErrorString 
  158.  
  159. gestaltHardwareAttr                EQU        'hdwr'                ; hardware attributes 
  160. gestaltHasVIA1                    EQU        0                    ; VIA1 exists 
  161. gestaltHasVIA2                    EQU        1                    ; VIA2 exists 
  162. gestaltHasASC                    EQU        3                    ; Apple Sound Chip exists 
  163. gestaltHasSCC                    EQU        4                    ; SCC exists 
  164. gestaltHasSCSI                    EQU        7                    ; SCSI exists 
  165. gestaltHasSoftPowerOff            EQU        19                    ; Capable of software power off 
  166. gestaltHasSCSI961                EQU        21                    ; 53C96 SCSI controller on internal bus 
  167. gestaltHasSCSI962                EQU        22                    ; 53C96 SCSI controller on external bus 
  168. gestaltHasUniversalROM            EQU        24                    ; Do we have a Universal ROM? 
  169.  
  170. gestaltHelpMgrAttr                EQU        'help'                ; Help Mgr Attributes 
  171. gestaltHelpMgrPresent            EQU        0                    ; true if help mgr is present 
  172. gestaltHelpMgrExtensions        EQU        1                    ; true if help mgr extensions are installed 
  173.  
  174. gestaltCompressionMgr            EQU        'icmp'
  175.  
  176. gestaltIconUtilitiesAttr        EQU        'icon'                ; Icon Utilities attributes  (Note: available in System 7.0, despite gestalt) 
  177. gestaltIconUtilitiesPresent        EQU        0                    ; true if icon utilities are present 
  178.  
  179. gestaltKeyboardType                EQU        'kbd '                ; keyboard type 
  180. gestaltMacKbd                    EQU        1
  181. gestaltMacAndPad                EQU        2
  182. gestaltMacPlusKbd                EQU        3
  183. gestaltExtADBKbd                EQU        4
  184. gestaltStdADBKbd                EQU        5
  185. gestaltPrtblADBKbd                EQU        6
  186. gestaltPrtblISOKbd                EQU        7
  187. gestaltStdISOADBKbd                EQU        8
  188. gestaltExtISOADBKbd                EQU        9
  189. gestaltADBKbdII                    EQU        10
  190. gestaltADBISOKbdII                EQU        11
  191. gestaltPwrBookADBKbd            EQU        12
  192. gestaltPwrBookISOADBKbd            EQU        13
  193. gestaltAppleAdjustKeypad        EQU        14
  194. gestaltAppleAdjustADBKbd        EQU        15
  195. gestaltAppleAdjustISOKbd        EQU        16
  196. gestaltJapanAdjustADBKbd        EQU        17                    ; Japan Adjustable Keyboard 
  197. gestaltPwrBkExtISOKbd            EQU        20                    ; PowerBook Extended International Keyboard with function keys 
  198. gestaltPwrBkExtJISKbd            EQU        21                    ; PowerBook Extended Japanese Keyboard with function keys         
  199. gestaltPwrBkExtADBKbd            EQU        24                    ; PowerBook Extended Domestic Keyboard with function keys         
  200.  
  201. gestaltLowMemorySize            EQU        'lmem'
  202.  
  203. gestaltLogicalRAMSize            EQU        'lram'
  204.  
  205. gestaltMachineType                EQU        'mach'                ; machine type 
  206. gestaltClassic                    EQU        1
  207. gestaltMacXL                    EQU        2
  208. gestaltMac512KE                    EQU        3
  209. gestaltMacPlus                    EQU        4
  210. gestaltMacSE                    EQU        5
  211. gestaltMacII                    EQU        6
  212. gestaltMacIIx                    EQU        7
  213. gestaltMacIIcx                    EQU        8
  214. gestaltMacSE030                    EQU        9
  215. gestaltPortable                    EQU        10
  216. gestaltMacIIci                    EQU        11
  217. gestaltMacIIfx                    EQU        13
  218. gestaltMacClassic                EQU        17
  219. gestaltMacIIsi                    EQU        18
  220. gestaltMacLC                    EQU        19
  221. gestaltQuadra900                EQU        20
  222. gestaltPowerBook170                EQU        21
  223. gestaltQuadra700                EQU        22
  224. gestaltClassicII                EQU        23
  225. gestaltPowerBook100                EQU        24
  226. gestaltPowerBook140                EQU        25
  227. gestaltQuadra950                EQU        26
  228. gestaltMacLCIII                    EQU        27
  229. gestaltPerforma450                EQU        27
  230. gestaltPowerBookDuo210            EQU        29
  231. gestaltMacCentris650            EQU        30
  232. gestaltPowerBookDuo230            EQU        32
  233. gestaltPowerBook180                EQU        33
  234. gestaltPowerBook160                EQU        34
  235. gestaltMacQuadra800                EQU        35
  236. gestaltMacQuadra650                EQU        36
  237. gestaltMacLCII                    EQU        37
  238. gestaltPowerBookDuo250            EQU        38
  239. gestaltAWS9150_80                EQU        39
  240. gestaltMacIIvi                    EQU        44
  241. gestaltPerforma600                EQU        45
  242. gestaltMacIIvm                    EQU        45
  243. gestaltMacIIvx                    EQU        48
  244. gestaltMacColorClassic            EQU        49
  245. gestaltPerforma250                EQU        49
  246. gestaltPowerBook165c            EQU        50
  247. gestaltMacCentris610            EQU        52
  248. gestaltMacQuadra610                EQU        53
  249. gestaltPowerBook145                EQU        54
  250. gestaltMacLC520                    EQU        56
  251. gestaltMacCentris660AV            EQU        60
  252. gestaltPerforma46x                EQU        62
  253. gestaltPowerMac8100_80            EQU        65                    ; Power Macintosh 8100/80 
  254. gestaltPowerBook180c            EQU        71
  255. gestaltPowerMac6100_60            EQU        75                    ; Power Macintosh 6100/60 
  256. gestaltPowerBookDuo270c            EQU        77
  257. gestaltMacQuadra840AV            EQU        78
  258. gestaltPerforma550                EQU        80
  259. gestaltPowerBook165                EQU        84
  260. gestaltMacTV                    EQU        88
  261. gestaltMacLC475                    EQU        89
  262. gestaltPerforma47x                EQU        89
  263. gestaltMacLC575                    EQU        92
  264. gestaltMacQuadra605                EQU        94
  265. gestaltPowerMac7100_66            EQU        112                    ; Power Macintosh 7100/66 
  266.  
  267. kMachineNameStrID                EQU        -16395
  268.  
  269. gestaltMachineIcon                EQU        'micn'
  270.  
  271. gestaltMiscAttr                    EQU        'misc'                ; miscellaneous attributes 
  272. gestaltScrollingThrottle        EQU        0                    ; true if scrolling throttle on 
  273. gestaltSquareMenuBar            EQU        2                    ; true if menu bar is square 
  274.  
  275. ;
  276. ;    The name gestaltMixedModeVersion for the 'mixd' selector is semantically incorrect.
  277. ;    The same selector has been renamed gestaltMixedModeAttr to properly reflect the 
  278. ;    Inside Mac: PowerPC System Software documentation.  The gestaltMixedModeVersion
  279. ;    symbol has been preserved only for backwards compatibility.
  280. ;    
  281. ;    Developers are forewarned that gestaltMixedModeVersion has a limited lifespan and 
  282. ;    will be removed in a future release of the Interfaces.
  283. ;
  284. ;    For the first version of Mixed Mode, both meanings of the 'mixd' selector are
  285. ;    functionally identical.  They both return 0x00000001.  In subsequent versions
  286. ;    of Mixed Mode, however, the 'mixd' selector will not respond with an increasing
  287. ;    version number, but rather, with 32 attribute bits with various meanings.
  288. ;
  289. gestaltMixedModeVersion            EQU        'mixd'
  290.  
  291. gestaltMixedModeAttr            EQU        'mixd'                ; returns Mixed Mode attributes 
  292. gestaltPowerPCAware                EQU        0                    ; true if Mixed Mode Manager supports PowerPC 
  293.  
  294. gestaltMMUType                    EQU        'mmu '                ; mmu type 
  295. gestaltNoMMU                    EQU        0                    ; no MMU 
  296. gestaltAMU                        EQU        1                    ; address management unit 
  297. gestalt68851                    EQU        2                    ; 68851 PMMU 
  298. gestalt68030MMU                    EQU        3                    ; 68030 built-in MMU 
  299. gestalt68040MMU                    EQU        4                    ; 68040 built-in MMU 
  300. gestaltEMMU1                    EQU        5                    ; Emulated MMU type 1  
  301.  
  302. gestaltStdNBPAttr                EQU        'nlup'                ; standard nbp attributes 
  303. gestaltStdNBPPresent            EQU        0
  304.  
  305. gestaltNotificationMgrAttr        EQU        'nmgr'                ; notification manager attributes 
  306. gestaltNotificationPresent        EQU        0                    ; notification manager exists 
  307.  
  308. gestaltNuBusSlotCount            EQU        'nubs'
  309.  
  310. gestaltOSAttr                    EQU        'os  '                ; o/s attributes 
  311. gestaltSysZoneGrowable            EQU        0                    ; system heap is growable 
  312. gestaltLaunchCanReturn            EQU        1                    ; can return from launch 
  313. gestaltLaunchFullFileSpec        EQU        2                    ; can launch from full file spec 
  314. gestaltLaunchControl            EQU        3                    ; launch control support available 
  315. gestaltTempMemSupport            EQU        4                    ; temp memory support 
  316. gestaltRealTempMemory            EQU        5                    ; temp memory handles are real 
  317. gestaltTempMemTracked            EQU        6                    ; temporary memory handles are tracked 
  318. gestaltIPCSupport                EQU        7                    ; IPC support is present 
  319. gestaltSysDebuggerSupport        EQU        8                    ; system debugger support is present 
  320.  
  321. gestaltOSTable                    EQU        'ostt'
  322.  
  323. gestaltPCXAttr                    EQU        'pcxg'                ; PC Exchange attributes 
  324. gestaltPCXHas8and16BitFAT        EQU        0                    ; PC Exchange supports both 8 and 16 bit FATs 
  325. gestaltPCXHasProDOS                EQU        1                    ; PC Exchange supports ProDOS 
  326.  
  327. gestaltLogicalPageSize            EQU        'pgsz'
  328.  
  329. gestaltPopupAttr                EQU        'pop!'                ; popup cdef attributes 
  330. gestaltPopupPresent                EQU        0
  331.  
  332. gestaltPowerMgrAttr                EQU        'powr'                ; power manager attributes 
  333. gestaltPMgrExists                EQU        0
  334. gestaltPMgrCPUIdle                EQU        1
  335. gestaltPMgrSCC                    EQU        2
  336. gestaltPMgrSound                EQU        3
  337. gestaltPMgrDispatchExists        EQU        4
  338.  
  339. ;
  340. ; * PPC will return the combination of following bit fields.
  341. ; * e.g. gestaltPPCSupportsRealTime +gestaltPPCSupportsIncoming + gestaltPPCSupportsOutGoing
  342. ; * indicates PPC is cuurently is only supports real time delivery
  343. ; * and both incoming and outgoing network sessions are allowed.
  344. ; * By default local real time delivery is supported as long as PPCInit has been called.
  345. gestaltPPCToolboxAttr            EQU        'ppc '                ; PPC toolbox attributes 
  346. gestaltPPCToolboxPresent        EQU        $0000                ; PPC Toolbox is present  Requires PPCInit to be called 
  347. gestaltPPCSupportsRealTime        EQU        $1000                ; PPC Supports real-time delivery 
  348. gestaltPPCSupportsIncoming        EQU        $0001                ; PPC will deny incoming network requests 
  349. gestaltPPCSupportsOutGoing        EQU        $0002                ; PPC will deny outgoing network requests 
  350.  
  351. gestaltProcessorType            EQU        'proc'                ; processor type 
  352. gestalt68000                    EQU        1
  353. gestalt68010                    EQU        2
  354. gestalt68020                    EQU        3
  355. gestalt68030                    EQU        4
  356. gestalt68040                    EQU        5
  357.  
  358. gestaltParityAttr                EQU        'prty'                ; parity attributes 
  359. gestaltHasParityCapability        EQU        0                    ; has ability to check parity 
  360. gestaltParityEnabled            EQU        1                    ; parity checking enabled 
  361.  
  362. gestaltQuickdrawVersion            EQU        'qd  '                ; quickdraw version 
  363. gestaltOriginalQD                EQU        $000                ; original 1-bit QD 
  364. gestalt8BitQD                    EQU        $100                ; 8-bit color QD 
  365. gestalt32BitQD                    EQU        $200                ; 32-bit color QD 
  366. gestalt32BitQD11                EQU        $210                ; 32-bit color QDv1.1 
  367. gestalt32BitQD12                EQU        $220                ; 32-bit color QDv1.2 
  368. gestalt32BitQD13                EQU        $230                ; 32-bit color QDv1.3 
  369.  
  370. gestaltQuickdrawFeatures        EQU        'qdrw'                ; quickdraw features 
  371. gestaltHasColor                    EQU        0                    ; color quickdraw present 
  372. gestaltHasDeepGWorlds            EQU        1                    ; GWorlds can be deeper than 1-bit 
  373. gestaltHasDirectPixMaps            EQU        2                    ; PixMaps can be direct (16 or 32 bit) 
  374. gestaltHasGrayishTextOr            EQU        3                    ; supports text mode grayishTextOr 
  375. gestaltSupportsMirroring        EQU        4                    ; Supports video mirroring via the Display Manager. 
  376.  
  377. gestaltQuickTimeVersion            EQU        'qtim'                ; returns version of QuickTime 
  378. gestaltQuickTime                EQU        'qtim'
  379.  
  380. gestaltQuickTimeFeatures        EQU        'qtrs'
  381. gestaltPPCQuickTimeLibPresent    EQU        0                    ; PowerPC QuickTime glue library is present 
  382.  
  383. gestaltPhysicalRAMSize            EQU        'ram '
  384.  
  385. gestaltRBVAddr                    EQU        'rbv '
  386.  
  387. gestaltROMSize                    EQU        'rom '
  388.  
  389. gestaltROMVersion                EQU        'romv'
  390.  
  391. gestaltResourceMgrAttr            EQU        'rsrc'                ; Resource Mgr attributes 
  392. gestaltPartialRsrcs                EQU        0                    ; True if partial resources exist 
  393.  
  394. gestaltRealtimeMgrAttr            EQU        'rtmr'                ; Realtime manager attributes            
  395. gestaltRealtimeMgrPresent        EQU        0                    ; true if the Realtime manager is present     
  396.  
  397. gestaltSCCReadAddr                EQU        'sccr'
  398.  
  399. gestaltSCCWriteAddr                EQU        'sccw'
  400.  
  401. gestaltScrapMgrAttr                EQU        'scra'                ; Scrap Manager attributes 
  402. gestaltScrapMgrTranslationAware    EQU        0                    ; True if scrap manager is translation aware 
  403.  
  404. gestaltScriptMgrVersion            EQU        'scri'
  405.  
  406. gestaltScriptCount                EQU        'scr#'
  407.  
  408. gestaltSCSI                        EQU        'scsi'                ; SCSI Manager attributes 
  409. gestaltAsyncSCSI                EQU        0                    ; Supports Asynchronous SCSI 
  410. gestaltAsyncSCSIINROM            EQU        1                    ; Async scsi is in ROM (available for booting) 
  411. gestaltSCSISlotBoot                EQU        2                    ; ROM supports Slot-style PRAM for SCSI boots (PDM and later) 
  412.  
  413. gestaltControlStripAttr            EQU        'sdev'                ; Control Strip attributes 
  414. gestaltControlStripExists        EQU        0
  415. gestaltControlStripVersionFixed    EQU        1
  416.  
  417. gestaltSerialAttr                EQU        'ser '                ; Serial attributes 
  418. gestaltHasGPIaToDCDa            EQU        0                    ; GPIa connected to DCDa
  419. gestaltHasGPIaToRTxCa            EQU        1                    ; GPIa connected to RTxCa clock input
  420. gestaltHasGPIbToDCDb            EQU        2                    ; GPIb connected to DCDb 
  421.  
  422. gestaltNuBusConnectors            EQU        'sltc'
  423.  
  424. gestaltSlotAttr                    EQU        'slot'                ; slot attributes  
  425. gestaltSlotMgrExists            EQU        0                    ; true is slot mgr exists  
  426. gestaltNuBusPresent                EQU        1                    ; NuBus slots are present  
  427. gestaltSESlotPresent            EQU        2                    ; SE PDS slot present  
  428. gestaltSE30SlotPresent            EQU        3                    ; SE/30 slot present  
  429. gestaltPortableSlotPresent        EQU        4                    ; Portable’s slot present  
  430.  
  431. gestaltFirstSlotNumber            EQU        'slt1'
  432.  
  433. gestaltSoundAttr                EQU        'snd '                ; sound attributes 
  434. gestaltStereoCapability            EQU        0                    ; sound hardware has stereo capability 
  435. gestaltStereoMixing                EQU        1                    ; stereo mixing on external speaker 
  436. gestaltSoundIOMgrPresent        EQU        3                    ; The Sound I/O Manager is present 
  437. gestaltBuiltInSoundInput        EQU        4                    ; built-in Sound Input hardware is present 
  438. gestaltHasSoundInputDevice        EQU        5                    ; Sound Input device available 
  439. gestaltPlayAndRecord            EQU        6                    ; built-in hardware can play and record simultaneously 
  440. gestalt16BitSoundIO                EQU        7                    ; sound hardware can play and record 16-bit samples 
  441. gestaltStereoInput                EQU        8                    ; sound hardware can record stereo 
  442. gestaltLineLevelInput            EQU        9                    ; sound input port requires line level 
  443. ; the following bits are not defined prior to Sound Mgr 3.0 
  444. gestaltSndPlayDoubleBuffer        EQU        10                    ; SndPlayDoubleBuffer available, set by Sound Mgr 3.0 and later 
  445. gestaltMultiChannels            EQU        11                    ; multiple channel support, set by Sound Mgr 3.0 and later 
  446. gestalt16BitAudioSupport        EQU        12                    ; 16 bit audio data supported, set by Sound Mgr 3.0 and later 
  447.  
  448. gestaltStandardFileAttr            EQU        'stdf'                ; Standard File attributes 
  449. gestaltStandardFile58            EQU        0                    ; True if selectors 5-8 (StandardPutFile-CustomGetFile) are supported 
  450. gestaltStandardFileTranslationAware EQU        1                ; True if standard file is translation manager aware 
  451. gestaltStandardFileHasColorIcons EQU        2                    ; True if standard file has 16x16 color icons 
  452. gestaltStandardFileUseGenericIcons EQU        3                ; Standard file LDEF to use only the system generic icons if true 
  453. gestaltStandardFileHasDynamicVolumeAllocation EQU        4        ; True if standard file supports more than 20 volumes 
  454.  
  455. gestaltSysArchitecture            EQU        'sysa'                ; Native System Architecture 
  456. gestalt68k                        EQU        1                    ; Motorola MC68k architecture 
  457. gestaltPowerPC                    EQU        2                    ; IBM PowerPC architecture 
  458.  
  459. gestaltSystemVersion            EQU        'sysv'
  460.  
  461. gestaltTSMgrVersion                EQU        'tsmv'
  462.  
  463. gestaltTSMgrAttr                EQU        'tsma'                ; Text Services Mgr attributes, if present 
  464. gestaltTSMDisplayMgrAwareBit    EQU        0                    ; TSM knows about display manager 
  465.  
  466. gestaltTextEditVersion            EQU        'te  '                ; TextEdit version number 
  467. gestaltTE1                        EQU        1                    ; TextEdit in MacIIci ROM 
  468. gestaltTE2                        EQU        2                    ; TextEdit with 6.0.4 Script Systems on MacIIci (Script bug fixes for MacIIci) 
  469. gestaltTE3                        EQU        3                    ; TextEdit with 6.0.4 Script Systems all but MacIIci 
  470. gestaltTE4                        EQU        4                    ; TextEdit in System 7.0 
  471. gestaltTE5                        EQU        5                    ; TextWidthHook available in TextEdit 
  472.  
  473. gestaltTEAttr                    EQU        'teat'                ; TextEdit attributes 
  474. gestaltTEHasGetHiliteRgn        EQU        0                    ; TextEdit has TEGetHiliteRgn 
  475.  
  476. gestaltTermMgrAttr                EQU        'term'                ; terminal mgr attributes 
  477. gestaltTermMgrPresent            EQU        0
  478. gestaltTermMgrErrorString        EQU        2
  479.  
  480. gestaltTimeMgrVersion            EQU        'tmgr'                ; time mgr version 
  481. gestaltStandardTimeMgr            EQU        1                    ; standard time mgr is present 
  482. gestaltRevisedTimeMgr            EQU        2                    ; revised time mgr is present 
  483. gestaltExtendedTimeMgr            EQU        3                    ; extended time mgr is present 
  484.  
  485. gestaltSpeechAttr                EQU        'ttsc'                ; Speech Manager attributes 
  486. gestaltSpeechMgrPresent            EQU        0                    ; bit set indicates that Speech Manager exists 
  487. gestaltSpeechHasPPCGlue            EQU        1                    ; bit set indicates that native PPC glue for Speech Manager API exists 
  488.  
  489. gestaltToolboxTable                EQU        'tbtt'
  490.  
  491. gestaltThreadMgrAttr            EQU        'thds'                ; Thread Manager attributes 
  492. gestaltThreadMgrPresent            EQU        0                    ; bit true if Thread Mgr is present 
  493. gestaltSpecificMatchSupport        EQU        1                    ; bit true if Thread Mgr supports exact match creation option 
  494. gestaltThreadsLibraryPresent    EQU        2                    ; bit true if Thread Mgr shared library is present 
  495.  
  496. gestaltTVAttr                    EQU        'tv  '                ; TV version                                        <EX16>     
  497. gestaltHasTVTuner                EQU        0                    ; supports Philips FL1236F video tuner                <EX16>     
  498. gestaltHasSoundFader            EQU        1                    ; supports Philips TEA6330 Sound Fader chip        <EX16>     
  499. gestaltHasHWClosedCaptioning    EQU        2                    ; supports Philips SAA5252 Closed Captioning        <EX16>     
  500. gestaltHasIRRemote                EQU        3                    ; supports CyclopsII Infra Red Remote control        <EX16>     
  501. gestaltHasVidDecoderScaler        EQU        4                    ; supports Philips SAA7194 Video Decoder/Scaler    <EX16>     
  502. gestaltHasStereoDecoder            EQU        5                    ; supports Sony SBX1637A-01 stereo decoder            <EX16>     
  503.  
  504. gestaltVersion                    EQU        'vers'
  505.  
  506. gestaltVIA1Addr                    EQU        'via1'
  507.  
  508. gestaltVIA2Addr                    EQU        'via2'
  509.  
  510. gestaltVMAttr                    EQU        'vm  '                ; virtual memory attributes 
  511. gestaltVMPresent                EQU        0                    ; true if virtual memory is present 
  512.  
  513. gestaltTranslationAttr            EQU        'xlat'                ; Translation Manager attributes 
  514. gestaltTranslationMgrExists        EQU        0                    ; True if translation manager exists 
  515. gestaltTranslationMgrHintOrder    EQU        1                    ; True if hint order reversal in effect 
  516. gestaltTranslationPPCAvail        EQU        2
  517. gestaltTranslationGetPathAPIAvail EQU        3
  518.  
  519. gestaltExtToolboxTable            EQU        'xttt'
  520.  
  521.     IF SystemSevenOrLater  THEN
  522.     IF GENERATING68K THEN
  523.         Macro
  524.         _Gestalt
  525.             dc.w     $A1AD
  526.             dc.w     $2288
  527.         EndM
  528.     ELSE
  529.         IMPORT    Gestalt
  530.     ENDIF
  531.  
  532.     IF GENERATING68K THEN
  533.         _NewGestalt:    OPWORD    $A3AD
  534.     ELSE
  535.         IMPORT    NewGestalt
  536.     ENDIF
  537.  
  538.     IF GENERATING68K THEN
  539.         Macro
  540.         _ReplaceGestalt
  541.             dc.w     $2F09
  542.             dc.w     $A5AD
  543.             dc.w     $225F
  544.             dc.w     $2288
  545.         EndM
  546.     ELSE
  547.         IMPORT    ReplaceGestalt
  548.     ENDIF
  549.  
  550.     ELSE
  551.     ENDIF
  552.     IF SystemSevenFiveOrLater  THEN
  553. ; These functions are built into System 7.5, but not on earlier systems 
  554.     IF GENERATING68K THEN
  555.         Macro
  556.         _NewGestaltValue
  557.             move.w    #$0401,d0
  558.             dc.w     $ABF1
  559.         EndM
  560.     ELSE
  561.         IMPORT    NewGestaltValue
  562.     ENDIF
  563.  
  564.     IF GENERATING68K THEN
  565.         Macro
  566.         _ReplaceGestaltValue
  567.             move.w    #$0402,d0
  568.             dc.w     $ABF1
  569.         EndM
  570.     ELSE
  571.         IMPORT    ReplaceGestaltValue
  572.     ENDIF
  573.  
  574.     IF GENERATING68K THEN
  575.         Macro
  576.         _DeleteGestaltValue
  577.             move.w    #$0203,d0
  578.             dc.w     $ABF1
  579.         EndM
  580.     ELSE
  581.         IMPORT    DeleteGestaltValue
  582.     ENDIF
  583.  
  584.     IF GENERATING68K THEN
  585.         Macro
  586.         _SetGestaltValue
  587.             move.w    #$0404,d0
  588.             dc.w     $ABF1
  589.         EndM
  590.     ELSE
  591.         IMPORT    SetGestaltValue
  592.     ENDIF
  593.  
  594.     ENDIF
  595.     ENDIF ; __GESTALT__
  596.